﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Threading.Tasks;
using WorldBankBBS.Common;

namespace WorldBankBBS.Comms
{
    public interface ICommunicator
    {
        ISession Session { get; set; }
        int SendData(byte[] data);
        int SendData(byte[] data, int chunksize);
        int SendData(byte[] data, int offset, int bytes);
        int SendData(byte[] data, int offset, int bytes, int chunkSize);

        bool HasData { get; }
        int WaitingBytes { get; }
        bool IsConnected { get; }

        int ReadData(byte[] data, int offset, int bytes);
        int ReadData(byte[] data);

        void Terminate();
        void Clear();
       
    }
}
